
#define nelem(x) (sizeof(x)/sizeof((x)[0]))
#define nil NULL

uint32 runtime_fastrand1(void);

// C called (but written in Go)

void	runtime_printany(Eface)
     __asm__("runtime.Printany");
void	runtime_newTypeAssertionError(const String*, const String*, const String*, const String*, Eface*)
     __asm__("runtime.NewTypeAssertionError");
void	runtime_newErrorString(String, Eface*)
     __asm__("runtime.NewErrorString");

static inline void runtime_memclr(void *mem, uintptr len) {
	__builtin_memset(mem, 0, len);
}

/*
const byte* runtime_getenv(const char*);
*/

int32	runtime_atoi(const byte*);

#define runtime_memmove __builtin_memmove
